Refreshovanie dat z aplikacneho servera
Otázka od: Roman Pagac
30. 9. 2002 16:59
Zdravim!
Mam aplikacny server s TIBClientDataset a TDatasetProvider. Na klientskej
strane mam TIBClientDataset, ktory je napojeny na TDatasetProvider cez
SoapConnection. Chcel by som spravit to, ze v kazdom momente budem mat v
TIBClientDataset na klientskej strane iba napr. 30 zaznamov (pretoze v
databaze mam radovo tisice zaznamov; taktiez nerad by som robil
inkrementalny fetching, pretoze ak niekto bude chciet ist na koniec zaznamov
=> to iste ako by som fetchol vsetky data z DB). Pokusil som sa to spravit
takto:
- server side:
- TIBClientDataset:
- FetchOnDemand:= False;
- PackedRecords:= 30;
- TDatasetProvider:
- event BeforeGetRecords:
if dspJournal.DataSet.Active then
dspJournal.DataSet.Locate('RECORD_ID',OwnerData,[]);
- client side:
- TIBClientDataset:
- FetchOnDemand:= False;
- PackedRecords:= 30;
- event BeforegetRecords:
var CurRecord: TBookMark;
begin
if cdsJournal.Active then
begin
CurRecord:= cdsJournal.GetBookmark;
try
cdsJournal.Last;
OwnerData:= cdsJournal.FieldValues['RECORD_ID'];
cdsJournal.GotoBookmark(CurRecord);
finally
cdsJournal.FreeBookmark(CurRecord);
end;
end;
Ale toto nefunguje. Vratil mi to len prvych 30 zaznamov a nic viac. A ked
scrollujem po zaznamoch, tak pridem na posledny a nefetchne mi dalsich 30 a
nevymaze predchadzajuce (kedze chcem mat v kazdom okamihu v TIBClientDataset
na klientskej strane prave 30 zaznamov). Viem ze by som mal asi pouzit
niekde metodu EmptyDataset ale neviem presne kde.
Vdaka za vsetky rady a tipy.
S pozdravom Roman Pagac.